﻿using System;
using System.Numerics;
using WaveSim.Core.Equations;

namespace WaveSim.Core.Methods.ODE
{
    public interface IMethodODE
    {
        /// <summary>
        /// Updates y values for the next step
        /// </summary>
        /// <param name="x">An argument value</param>
        /// <param name="h">A step value</param>
        /// <param name="y">Start conditions</param>
        /// <param name="f">A goal function</param>
        /// <param name="iteration">Optional index of iteration</param>
        void Solve(double x, double h, Complex[] y, IEquation f, int iteration = 0);
    }
}
